package com.qtu.order_service.service;

import com.qtu.entity.CartItem;
import com.qtu.entity.SettlementBean;


import java.util.List;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @author CaiYinWei
 * @create 2020-07-08 14:57
 */
public interface CartService {
    /**
     * 将商品添加到购物车
     * @param token
     * @param Id
     * @param num
     * @return
     */
   public String addToCart(String token, Integer Id, Integer num);



    /**
     * 通过商品id得到商品项
     * @param Id
     * @return
     */
   public CartItem getCartItemByGoodsId(Integer Id);

    /**
     * 获得购物车的所有商品
     * @param token
     * @return
     */
    Set<CartItem> getCartItemMap(String token);

    /**
     * 从购物车中通过商品id删除商品项
     * @param token
     * @param Id
     * @return
     */
    String deleteItemFromCart(String token, Integer Id);

    /**
     * 修改商品项的数量
     * @param token
     * @param Id
     * @param num
     * @return
     */
    String UpdateItemNumber(String token, Integer Id,Integer num);

    /**
     * 结算
     * @param token
     * @param itemIds
     * @return
     */
    SettlementBean settlement(String token, List<String> itemIds);

    ConcurrentHashMap<Object, Object> commitOrder(String token, Set<CartItem> itemList, String mark, String addressId);


    ConcurrentHashMap<Object, Object> toPay(String token, String orderId, Integer payType, Integer noney);
}
